Defining methods and classes for software objects or modules is an important part of the software design cycle. Typically, the creation of methods or classes must be specified in a specific programming language. The use of programming languages, however, requires adhering to detailed syntax which is undesirable, as a user may not be an expert in the particular programming language being utilized to create the method or class.
The Common Language Infrastructure Standard ECMA 325 provides a specification in which applications that are written in high-level languages such as C# or C++ may be executed in different system environments without the need to rewrite the applications. The Common Language Infrastructure Standard provides a Common Type System (CTS) which supports types and operations found in high-level languages. Though the Common Type System makes it easier to execute components and applications written in different programming languages, a user or developer must still be knowledgeable and adhere to detailed syntax of the particular programming language the user or developer utilized to create the components and applications.
The Common Type System lacks an intuitive and simple way to traverse and search artifacts or locate various types within the Type System. Additionally, the creation and modification of artifacts is cumbersome requiring excessive developer or user time.
Therefore, there is a need in the art, for a data structure and application programming interfaces that enable users or developers to create, modify, and search artifacts such as classes and methods utilizing a simple and language neutral implementation.